<html>
<head>
<title>Test Invocation</title>
<script type="text/javascript" src="../../../../dojo/dojo.js" data-dojo-config="isDebug: true, parseOnLoad:true "></script>
<script type="text/javascript">
dojo.provide("dojox.wire.ml.tests.markup.Invocation");

dojo.require("dojo.parser");
dojo.require("doh.runner");
dojo.require("dojox.wire.ml.Invocation");

dojox.wire.ml.tests.markup.Invocation = {
	invoke: function(p1, p2){return p1 + p2;},
	invokeError: function(p){throw new Error(p);},
	parameters: {a: "A", b: "B", c: "C"}
};

dojo.addOnLoad(function(){
	doh.register("dojox.wire.ml.tests.markup.Invocation", [

		function test_Invocation_method(t){
			dojo.publish("invokeMethod");
			t.assertEqual("AB", dojox.wire.ml.tests.markup.Invocation.result);
		},

		function test_Invocation_topic(t){
			dojo.publish("invokeTopic");
			t.assertEqual("C", dojox.wire.ml.tests.markup.Invocation.error);
		}

	]);
	doh.run();
});
</script>
</head>
<body>
<div dojoType="dojox.wire.ml.Invocation"
	triggerTopic="invokeMethod"
	object="dojox.wire.ml.tests.markup.Invocation"
	method="invoke"
	parameters="dojox.wire.ml.tests.markup.Invocation.parameters.a,dojox.wire.ml.tests.markup.Invocation.parameters.b"
	result="dojox.wire.ml.tests.markup.Invocation.result"></div>
<div dojoType="dojox.wire.ml.Invocation"
	triggerTopic="invokeTopic"
	topic="invokeError"
	parameters="dojox.wire.ml.tests.markup.Invocation.parameters.c"></div>
<div dojoType="dojox.wire.ml.Invocation"
	triggerTopic="invokeError"
	object="dojox.wire.ml.tests.markup.Invocation"
	method="invokeError"
	error="dojox.wire.ml.tests.markup.Invocation.error"></div>
</body>
</html>
